package org.ch02.test08;

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

/**
 * @author ZQX
 * @date 2025-03-19
 */
public class MainTest02 {
    public static void main(String[] args) throws Exception{
        List<String> list = new ArrayList<>() ;

        // 第一：获取操作类的 Class 对象
        Class<?> clazz = list.getClass();

        // 第二：基于 Class 对象，实现相关的操作
        Method addMethod = clazz.getDeclaredMethod("add",Object.class);

        // list.add("AAAA") ;
        addMethod.invoke(list,"AAAA") ;

        // list.add(100) ;
        addMethod.invoke(list,100) ;

        // 泛型是编译时有效，运行时无并行（泛型擦除）
        System.out.println(list);
    }
}
